home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
m
/
maxonc++2.dms
/
maxonc++2.adf
/
MCPIncl.lha
/
libraries
/
diskfont.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-01-26
|
3KB
|
111 lines
#ifndef LIBRARIES_DISKFONT_H
#define LIBRARIES_DISKFONT_H
/*
** $Filename: libraries/diskfont.h $
** $Release: 2.04 $
** $Revision: 36.6 $
** $Date: 90/11/26 $
**
** diskfont library definitions
**
** (C) Copyright 1985,1986,1987,1988,1989 Commodore-Amiga, Inc.
** All Rights Reserved
*/
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif
#ifndef EXEC_NODES_H
#include "exec/nodes.h"
#endif
#ifndef EXEC_LISTS_H
#include "exec/lists.h"
#endif
#ifndef GRAPHICS_TEXT_H
#include "graphics/text.h"
#endif
#define MAXFONTPATH 256 /* including null terminator */
struct FontContents {
char fc_FileName[MAXFONTPATH];
UWORD fc_YSize;
UBYTE fc_Style;
UBYTE fc_Flags;
};
struct TFontContents {
char tfc_FileName[MAXFONTPATH-2];
UWORD tfc_TagCount; /* including the TAG_DONE tag */
/*
* if tfc_TagCount is non-zero, tfc_FileName is overlayed with
* Text Tags starting at: (struct TagItem *)
* &tfc_FileName[MAXFONTPATH-(tfc_TagCount*sizeof(struct TagItem))]
*/
UWORD tfc_YSize;
UBYTE tfc_Style;
UBYTE tfc_Flags;
};
#define FCH_ID 0x0f00 /* FontContentsHeader, then FontContents */
#define TFCH_ID 0x0f02 /* FontContentsHeader, then TFontContents */
struct FontContentsHeader {
UWORD fch_FileID; /* FCH_ID */
UWORD fch_NumEntries; /* the number of FontContents elements */
/* struct FontContents fch_FC[], or struct TFontContents fch_TFC[]; */
};
#define DFH_ID 0x0f80
#define MAXFONTNAME 32 /* font name including ".font\0" */
struct DiskFontHeader {
/* the following 8 bytes are not actually considered a part of the */
/* DiskFontHeader, but immediately preceed it. The NextSegment is */
/* supplied by the linker/loader, and the ReturnCode is the code */
/* at the beginning of the font in case someone runs it... */
/* ULONG dfh_NextSegment; \* actually a BPTR */
/* ULONG dfh_ReturnCode; \* MOVEQ #0,D0 : RTS */
/* here then is the official start of the DiskFontHeader... */
struct Node dfh_DF; /* node to link disk fonts */
UWORD dfh_FileID; /* DFH_ID */
UWORD dfh_Revision; /* the font revision */
LONG dfh_Segment; /* the segment address when loaded */
char dfh_Name[MAXFONTNAME]; /* the font name (null terminated) */
struct TextFont dfh_TF; /* loaded TextFont structure */
};
/* unfortunately, this needs to be explicitly typed */
/* used only if dfh_TF.tf_Style FSB_TAGGED bit is set */
#define dfh_TagList dfh_Segment /* destroyed during loading */
#define AFB_MEMORY 0
#define AFF_MEMORY 0x0001
#define AFB_DISK 1
#define AFF_DISK 0x0002
#define AFB_SCALED 2
#define AFF_SCALED 0x0004
#define AFB_TAGGED 16 /* return TAvailFonts */
#define AFF_TAGGED 0x10000L
struct AvailFonts {
UWORD af_Type; /* MEMORY, DISK, or SCALED */
struct TextAttr af_Attr; /* text attributes for font */
};
struct TAvailFonts {
UWORD taf_Type; /* MEMORY, DISK, or SCALED */
struct TTextAttr taf_Attr; /* text attributes for font */
};
struct AvailFontsHeader {
UWORD afh_NumEntries; /* number of AvailFonts elements */
/* struct AvailFonts afh_AF[], or struct TAvailFonts afh_TAF[]; */
};
#endif /* LIBRARIES_DISKFONT_H */